package com.hello.system.service;

import java.util.List;
import com.hello.system.domain.TreeHoleEntries;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 树洞内容Service接口
 * 
 * @author hello
 * @date 2025-05-15
 */
public interface ITreeHoleEntriesService extends IService<TreeHoleEntries>
{
    /**
     * 查询树洞内容
     * 
     * @param entryId 树洞内容主键
     * @return 树洞内容
     */
    public TreeHoleEntries selectTreeHoleEntriesByEntryId(Long entryId);

    /**
     * 查询树洞内容列表
     * 
     * @param treeHoleEntries 树洞内容
     * @return 树洞内容集合
     */
    public List<TreeHoleEntries> selectTreeHoleEntriesList(TreeHoleEntries treeHoleEntries);

    /**
     * 新增树洞内容
     * 
     * @param treeHoleEntries 树洞内容
     * @return 结果
     */
    public int insertTreeHoleEntries(TreeHoleEntries treeHoleEntries);

    /**
     * 修改树洞内容
     * 
     * @param treeHoleEntries 树洞内容
     * @return 结果
     */
    public int updateTreeHoleEntries(TreeHoleEntries treeHoleEntries);

    /**
     * 批量删除树洞内容
     * 
     * @param entryIds 需要删除的树洞内容主键集合
     * @return 结果
     */
    public int deleteTreeHoleEntriesByEntryIds(Long[] entryIds);

    /**
     * 删除树洞内容信息
     * 
     * @param entryId 树洞内容主键
     * @return 结果
     */
    public int deleteTreeHoleEntriesByEntryId(Long entryId);
    
    /**
     * 给树洞内容点赞
     * 
     * @param entryId 树洞内容主键
     * @return 结果
     */
    public int likeTreeHoleEntry(Long entryId);
    
    /**
     * 取消树洞内容点赞
     * 
     * @param entryId 树洞内容主键
     * @return 结果
     */
    public int unlikeTreeHoleEntry(Long entryId);
    
    /**
     * 给树洞内容不喜欢
     * 
     * @param entryId 树洞内容主键
     * @return 结果
     */
    public int dislikeTreeHoleEntry(Long entryId);
    
    /**
     * 取消树洞内容不喜欢
     * 
     * @param entryId 树洞内容主键
     * @return 结果
     */
    public int undislikeTreeHoleEntry(Long entryId);
    
    /**
     * 增加树洞内容查看次数
     * 
     * @param entryId 树洞内容主键
     * @return 结果
     */
    public int incrementViewsCount(Long entryId);
}
